//
// Created by Martin on 2022/12/7.
//

#include <regex>
#include <iostream>
#include <string>

using namespace std;

// example 2: 使用icase标志查找具有特定扩展名的文件名
// Page 646, C++ Primer 5th 中文版

int main()
{
// 一个或多个字母或数字字符后接一个'.'再接"cpp"或"cxx"或"cc"
// 标志icase表示匹配忽略大小写
regex r("[[:alnum:]]+\\.(cpp|cxx|cc)$", regex::icase);
smatch results; // 存放匹配结果
string filename;
while (cin >> filename)
    if (regex_search(filename, results, r))
        cout << "matched: " << results.str() << endl; // 打印匹配结果

    return 0;
}
